Now I'm not sure how to do this via scripting or programatically, but I have some hypothetical theories that you can bounce ideas off of..
If memory serves me right, Creaper or Lamron (someone on TMT lol) created a radar by finding the map edge coordinates and then minimized it to make it scaled with player coordinates relative to the radar (hope this makes sense so far).. Anywho, taking this same logic, couldn't you just find the edges of the maps and randomize path nodes based on these edges. Also do a check to see if the bot runs into a solid wall or something by checking the fraction of the brush with the player model. If a bot hits the wall, change his position so that he walks in a different direction. Do this while there isn't a enemy within his FOV.
Also you could do something like... Make the bot walk in the random direction based on what I posted above until he hears another players sound (gun fire, running, etc) then make that bot go in the direction of that sound. If the sound stops return to randomly walking in the continued direction until an enemy is spotted etc...
I hope that makes sense.
I would LOVE to see smart bots made for this game just like how it was done in CS. I think that's why CS was just a highly popular game for so many years even after other competitive combat games have been released. I think this in itself would have a lot of players return to the game.
Anywho, this is up for discussion. I think if we just focused on stock maps that would be a HUGE improvement. Obviously writing something like this on a custom map would require additional work unless we had some kind of framework built in that can return proper coordinates of a map and other things that may be required.
@own3mall, your idea is pretty good too, but yeah, I wouldn't know how to do something like that. Here is some code that may help get us started.
The code above checks whether or not we bumped into something with the above surface parameters. This is where we would then change the direction of the bot so he would move in a different direction.Code:trace_t * myTrace; if (myTrace.fraction == 1.0f && (myTrace.surfaceFlags | (SURF_WOOD|SURF_STONE|SURF_METAL|SURF_LADDER|SURF_FOLIAGE)) )


Reply With Quote



If the point is to make them smart, then I don't think we can afford to implement trial-and-error approaches.
apart from the fact that you'll have to make the bots remember what they've